package com.ruoyi.business.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 产品信息对象 product
 * 
 * @author DL
 * @date 2025-06-24
 */
public class Product extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 产品型号 */
    @Excel(name = "产品型号")
    private String productModel;

    /** 零件图号 */
    @Excel(name = "零件图号")
    private String partDrawingNo;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;

    /** 零件名称 */
    @Excel(name = "零件名称")
    private String partName;

    /** 设计日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "设计日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date designDate;

    /** 校对日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "校对日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date proofreadDate;

    /** 审核日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewDate;

    /** 标准化日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "标准化日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date standardizationDate;

    /** 会签日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "会签日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date countersignDate;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setProductModel(String productModel) 
    {
        this.productModel = productModel;
    }

    public String getProductModel() 
    {
        return productModel;
    }
    public void setPartDrawingNo(String partDrawingNo) 
    {
        this.partDrawingNo = partDrawingNo;
    }

    public String getPartDrawingNo() 
    {
        return partDrawingNo;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setPartName(String partName) 
    {
        this.partName = partName;
    }

    public String getPartName() 
    {
        return partName;
    }
    public void setDesignDate(Date designDate) 
    {
        this.designDate = designDate;
    }

    public Date getDesignDate() 
    {
        return designDate;
    }
    public void setProofreadDate(Date proofreadDate) 
    {
        this.proofreadDate = proofreadDate;
    }

    public Date getProofreadDate() 
    {
        return proofreadDate;
    }
    public void setReviewDate(Date reviewDate) 
    {
        this.reviewDate = reviewDate;
    }

    public Date getReviewDate() 
    {
        return reviewDate;
    }
    public void setStandardizationDate(Date standardizationDate) 
    {
        this.standardizationDate = standardizationDate;
    }

    public Date getStandardizationDate() 
    {
        return standardizationDate;
    }
    public void setCountersignDate(Date countersignDate) 
    {
        this.countersignDate = countersignDate;
    }

    public Date getCountersignDate() 
    {
        return countersignDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("productModel", getProductModel())
            .append("partDrawingNo", getPartDrawingNo())
            .append("productName", getProductName())
            .append("partName", getPartName())
            .append("designDate", getDesignDate())
            .append("proofreadDate", getProofreadDate())
            .append("reviewDate", getReviewDate())
            .append("standardizationDate", getStandardizationDate())
            .append("countersignDate", getCountersignDate())
            .toString();
    }
}
